package extractionStockageDonnees;

/**
 * 
 * @author simon
 *
 */
public interface IStep {

	/**
	 * 
	 * @return The departure city.
	 */
	public String getFirstCity();

	/**
	 * 
	 * @return The arrival city.
	 */
	public String getLastCity();

	/**
	 * 
	 * @return The step length.
	 */
	public double getLength();

	/**
	 * 
	 * @return MOUNTAIN, PLAIN ou TIME
	 */
	public EType getType();

	/**
	 * 
	 * @return The number of turn.
	 */
	public int getTurns();

	/**
	 * 
	 * @return If there is a next point or not.
	 */
	public boolean hasNext();

	/**
	 * Get the next point of the step.
	 */
	public void next();

	/**
	 * Reset the pointer of the step to the first point.
	 */
	public void reset();

	/**
	 * 
	 * @return The longitude of the current point.
	 */
	public double getCurrentLongitude();

	/**
	 * 
	 * @return The latitude of the current point.
	 */
	public double getCurrentLatitude();

	/**
	 * 
	 * @return The altitude of the current point.
	 */
	public double getCurrentAltitude();

	/**
	 * 
	 * @return The name of the current point.
	 */
	public String getName();

}
